package com.example.demo.day0303;

import java.lang.reflect.*;

public class DemoDynamicProxy {
    public static void main(String[] args) {
        IT test = new IT();
//        test.test1();
//        test.test2();

        InvocationHandler handler = new DemoProxy(test);//使用接口接收代理对象

        ITestDemo t = (ITestDemo) Proxy.newProxyInstance(handler.getClass().getClassLoader(),test.getClass().getInterfaces(),handler);
        //参数1是代理对象的类加载器,参数2是被代理的对象的接口,参数3是代理对象,返回的值就成功被代理后对象,返回的是Object类型,需要强行转换

        t.test1();
        System.out.println("==========================");
        t.test2();
    }
}
